When a user makes a connection from a computing device to the Internet through a wireless network connection, the wireless connection access point (AP) typically provides a validated Internet Protocol (IP) address to the computing device in order for the computing device to connect to the wireless network connection. For example, an IP address may be required to facilitate routing of packets and packet acknowledgements to the computing device. Microsoft Windows, and other operating systems store the IP address in memory. This stored IP address is then the IP address used as a default address when attempting to re-establish a connection to the wireless network. This storing capability can be advantageous for example when the computing device is stationary and is connecting to one access point each time a connection is requested. However, in the case of a mobile computing device moving between different access points, or where the IP address is no longer valid due to time considerations, the stored IP address will be an invalid address upon reconnection. In this case, the connection will not be established and after a predetermined amount of time, the computing device will release the IP address and request a new IP address for connection. This can result in a delay for the reconnection of a computing device to a wireless network.
One method by which IP addresses are assigned to devices is by the Dynamic Host Configuration Protocol (DHCP), which is currently defined for both IPv4 and IPv6 networks. In one version of the protocol, when a device connects to a network, an IP address, possibly along with additional configuration information, is requested and assigned by a DHCP server. Along with the IP address, the DHCP server may assign a lease time indicative of how long the IP address will remain valid. A DHCP server may allocate IP addresses using dynamic allocation, automatic allocation, or static allocation. In dynamic allocation, the DHCP server selects an IP address from a pool of addresses for assignment, along with a lease time. If the device does not renew the lease before lease time expiry, the DHCP server may assign that IP address to another device upon request. In automatic allocation, the DHCP server assigns an IP address substantially permanently to each device. The DHCP server stores in memory past IP address assignments to a particular device, and re-assigns the same IP address to the same device whenever possible. In static allocation, the DHCP server allocates an IP address to a device based on the device's MAC address according to a predetermined assignment table. Thus, the device is typically allocated the same IP address upon every request to that particular DHCP server. Typically, network administrators use automatic and static allocation when dealing with a relatively unchanging or manageable network, whereas dynamic allocation is implemented in larger or dynamically changing networks.
As described in Droms R., “Dynamic Host Configuration Protocol,” Request for Comments (RFC) No. 2131, Internet Engineering Task Force, (March 1997), a client device may request allocation of an IP address in either a non-abbreviated procedure or an abbreviated procedure. In the non-abbreviated procedure, the client transmits a DHCPDISCOVER message and receives a DHCPOFFER message with an offer of an IP address and other configuration parameters. This is followed by a DHCPREQUEST message from client to server to accept the offer. The server then responds with a DCHPACK or DHCPNAK to indicate that the request is acknowledged or rejected, respectively. The abbreviated procedure may be used if the client device remembers and wishes to reuse a previously allocated IP address. In this case, the client begins by broadcasting a DHCPREQUEST message containing the remembered IP address in an appropriate field. If a server has knowledge of the client's configuration parameters, it responds with a DHCPACK message. Note that there is no guarantee that a server will be configured to respond to a request for an invalid IP address with a DHCPNAK response. Therefore, significant delays may be encountered when the client requests an invalid IP address and must wait for one or more timeouts before reverting to the non-abbreviated procedure.
In FIG. 1, there is shown a wireless communication diagram for an initial connection of a computing device to a wireless network, wherein the computing device utilizes a built-in or external wireless communication device for network access. When a user attempts to connect to a wireless network using computing device 200, this computing device typically sends a request for a connection 201 through the wireless communication device 202. The wireless communication device 202 sends a request to an access point 204 on the desired network requesting a connection 203 to the network and the access point 204 sends a request to the wireless service provider server 206 located on the network which requests a valid IP address to connect to the network 205. The wireless service provider server locates a valid IP address and sends the IP address 207 to the access point 204 which is forwarded 209 to the wireless communication device 202, and subsequently the IP address is forwarded 211 to the computing device 200. The computing device stores the IP address in its memory 213 and uses this IP address to communicate with the network.
As described above, the computing device stores the IP address that is received from the server in its memory upon receipt of the IP address. This storing procedure is generally used to store for example the ten most recent IP addresses used by the computing device to connect to one or more networks. This procedure can be advantageous when the computing device is requesting a connection to the same network through the same wireless communication device before the IP address has become invalid. When this is the case, the computing device sends the IP address along with the request for a connection, and the server accepts the request for connection as the IP address is still valid. This process can limit the number of requests to the server for valid IP addresses, thereby typically reducing traffic to and from the server.
With reference to FIG. 2, there is shown a wireless communication diagram for reconnection of a computing device to a wireless network. Before the computing device 200 attempts a connection through the wireless communication device 202, it looks in its memory to see if any IP addresses are stored 303. If there are IP addresses stored in the computing device's memory, the computing device sends a request for a connection along with an IP address from its memory 305 to the wireless communication device 202, which sends a request to the access point 204 requesting a connection and providing an IP address for the connection 307. The access point 204 sends a request to the wireless service provider server 206 requesting connection to the network through the IP address provided 309. If the IP address is no longer a valid IP address for connection to the network, the server 206 will not recognize the request and typically will not respond 311. After about 2 to 15 seconds of waiting for a response from the server 206, the computing device 200 will start the connection process over again. For example, computing device 200 may try to use the same IP address again or alternately may check its memory for another stored IP address 303. This process will continue until the computing device memory has no other IP addresses stored, a lease time on the IP address has expired, or a predetermined retry limit or timeout condition has been reached. The computing device 200 will then request a connection indicating that a new IP address is required.
This process of connection to a wireless network as described above can result in the performance of a loop of actions which can cause a delay in the connection of the computing device to a network. Furthermore, this delay associated with this connection and/or reconnection is further exacerbated when the computing device is mobile and therefore changing locations.
Therefore there is a need for a system and method enabling the connection and reconnection of a computing device to a wireless network that overcomes one or more of the problems identified in the art.
This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.